package com.ktgj.customer.service;

import com.ktgj.customer.domain.Rightdetail;
import com.ktgj.customer.domain.vo.RightDetailServicesVo;

import java.util.List;

/**
 * 权益Service接口
 * 
 * @author ruoyi
 * @date 2021-07-30
 */
public interface IRightdetailService 
{
    /**
     * 查询权益
     * 
     * @param rightdetailId 权益ID
     * @return 权益
     */
    public Rightdetail selectRightdetailById(Long rightdetailId);

    /**
     * 查询权益列表
     * 
     * @param rightdetail 权益
     * @return 权益集合
     */
    public List<Rightdetail> selectRightdetailList(Rightdetail rightdetail);

    /**
     * 新增权益
     * 
     * @param rightdetail 权益
     * @return 结果
     */
    public int insertRightdetail(Rightdetail rightdetail);

    /**
     * 修改权益
     * 
     * @param rightdetail 权益
     * @return 结果
     */
    public int updateRightdetail(Rightdetail rightdetail);

    /**
     * 批量删除权益
     * 
     * @param rightdetailIds 需要删除的权益ID
     * @return 结果
     */
    public int deleteRightdetailByIds(Long[] rightdetailIds);

    /**
     * 删除权益信息
     * 
     * @param rightdetailId 权益ID
     * @return 结果
     */
    public int deleteRightdetailById(Long rightdetailId);

    /**
     * 根据卡id查询卡有那些权益
     *
     * @param cardId
     * @return
     */
    public List<Rightdetail> selectRightdetailByCardId(Long cardId);

    /**
     * 添加权益服务范围
     * @param rightDetailServicesVo
     * @return 受影响行数
     */
    int saveRightDetailService(RightDetailServicesVo rightDetailServicesVo);

    /**
     * 删除权益服务范围
     * @param rightDetailId 权益id
     * @param serviceType 服务类型
     * @param serviceId 服务id
     * @return
     */
    int removeRightDetailServiceChange(Long rightDetailId, Long serviceType, Long[] serviceId);
}
